

<!DOCTYPE html>
<html>
<head>
    <title>Pilgrim</title>

    <!-- meta -->
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- css -->
    <link rel="stylesheet" href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
    <link rel="stylesheet" href="/static/blog/css/bootstrap.min.css">
    <link rel="stylesheet" href="/static/blog/css/pace.css">
    <link rel="stylesheet" href="/static/blog/css/custom.css">
    <link rel="stylesheet" href="/static/blog/css/highlights/github.css">

    <style>
        span.highlighted {
            color: yellow;
        }
    </style>

    <!-- js -->
    <script src="/static/blog/js/jquery-2.1.3.min.js"></script>
    <script src="/static/blog/js/bootstrap.min.js"></script>
    <script src="/static/blog/js/pace.min.js"></script>
    <script src="/static/blog/js/modernizr.custom.js"></script>
</head>

<body>
<div class="container">
    <header id="site-header">
        <div class="row">
            <div class="col-md-4 col-sm-5 col-xs-8">
                <div class="logo">
                    <h1><a href="/"><b>Pilgrim</b></a></h1>
                </div>
            </div><!-- col-md-4 -->
            <div class="col-md-8 col-sm-7 col-xs-4">
                <nav class="main-nav" role="navigation">
                    <div class="navbar-header">
                        <button type="button" id="trigger-overlay" class="navbar-toggle">
                            <span class="ion-navicon"></span>
                        </button>
                    </div>

                    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                        <ul class="nav navbar-nav navbar-right">
                            <li class="cl-effect-11"><a href="/" data-hover="首页">首页</a></li>
                            <li class="cl-effect-11"><a href="#" data-hover="博客">博客</a></li>
                            <li class="cl-effect-11"><a href="#" data-hover="关于">关于</a></li>
                            <li class="cl-effect-11"><a href="#" data-hover="联系">联系</a></li>
                        </ul>
                    </div><!-- /.navbar-collapse -->
                </nav>
                <div id="header-search-box">
                    <a id="search-menu" href="#"><span id="search-icon" class="ion-ios-search-strong"></span></a>
                    <div id="search-form" class="search-form">
                        <form role="search" method="get" id="searchform" action="/search/">
                            <input type="search" name="q" placeholder="搜索" required>
                            <button type="submit"><span class="ion-ios-search-strong"></span></button>
                        </form>
                    </div>
                </div>
            </div><!-- col-md-8 -->
        </div>
    </header>
</div>
<div class="copyrights">Collect from <a href="#">blog</a></div>
<div class="copyrights">Modified by <a href="#">博客</a></div>

<div class="content-body">
    <div class="container">
        <div class="row">
            <main class="col-md-8">
                
    <article class="post post-14">
        <header class="entry-header">
            <h1 class="entry-title">git</h1>
            <div class="entry-meta">
                <span class="post-category">
                    <a href="/category/7/">git</a></span>
                <span class="post-date"><a href="#"><time class="entry-date"
                                                          datetime="2019年8月20日 15:04">2019年8月20日 15:04</time></a></span>
                <span class="post-author"><a href="#">chenjj</a></span>
                <span class="comments-link">
                    <a href="/post/14/#comment-area">0 评论</a></span>
                <span class="views-count"><a href="#">18 阅读</a></span>
            </div>
        </header>
        <div class="entry-content clearfix">
            <p>分区</p>
<div class="codehilite"><pre><span></span> 工作区
 添加, 修改, 删除 文件的操作,都发生在 工作区,  文件是红色的
 暂存区
 操作过程中的状态保存在暂存区,提交后将清空暂存区,文件是绿色的
 仓库区
 用来记录开发过程中的各个小版本.每个版本可以查看和回退
</pre></div>


<p>单人本地仓库操作</p>
<div class="codehilite"><pre><span></span>创建仓库
1.建立文件夹并进入
git init 实始化仓库，会生成一个 .git 隐藏文件夹
2. 配置个人信息
配置用户
git config user.name &#39;用户名&#39;
配置邮箱
git config user.email &#39;邮箱地址&#39;
3. 查看当前代码状态
git status    
红色   工作区有文件改变,需要保存到暂存区
绿色   暂存区有文件,需要提交到仓库区
4. 保存修改到暂存区
保存单个文件
git add 文件名
保存当前目录所有文件
git add .
5. 提交到仓库区
git commit -m &#39;版本描述&#39;
6. 查看历史
git log
git reflog
</pre></div>


<p>回退版本</p>
<div class="codehilite"><pre><span></span>工作区代码,撤销修改
git checkout 文件名
暂存区代码撤销修改
1. git reset HEAD 文件名     先将文件回撤到工作区
2. git checkout 文件名         在工作区中撤销修改
仓库区代码撤销修改
git reset -head HEAD^         利用^标记撤销
git reset -head 版本号         利用版本号撤销
</pre></div>


<p>远程仓库操作</p>
<div class="codehilite"><pre><span></span> 建立远程仓库
1.登陆注册Github账号
2.创建仓库,编辑仓库信息 
3.仓库创建完成 
4.查看仓库地址
</pre></div>


<p>配置 SSH</p>
<div class="codehilite"><pre><span></span>在远程连接git仓库时,可以使用 ssh  方式,需要配置 ssh
ssh 使用RSA非对称密方式进行加密  ，私钥留 给自己，公钥给别人。
</pre></div>


<p>配置</p>
<div class="codehilite"><pre><span></span><span class="mf">1.</span><span class="err">在</span><span class="n">github网站中的</span> <span class="n">settings</span> <span class="err">中配置</span> <span class="n">ssh</span> <span class="err">公钥入口</span>
<span class="mf">2.</span><span class="err">修改当前电脑</span> <span class="n">git</span> <span class="err">全局配置</span>
           <span class="n">vim</span> <span class="p">.</span><span class="n">gitconfig</span>
           <span class="n">email</span> <span class="o">=</span> <span class="n">tom</span><span class="mf">@163.</span><span class="n">com</span>
           <span class="n">name</span> <span class="o">=</span> <span class="n">tom</span>
<span class="mf">3.</span> <span class="err">生成</span><span class="n">ssh</span> <span class="err">公钥</span>
           <span class="n">ssh</span><span class="o">-</span><span class="n">keygen</span>  <span class="o">-</span><span class="n">t</span>  <span class="n">rsa</span>  <span class="o">-</span><span class="n">C</span> <span class="err">&#39;邮箱地址&#39;</span>
<span class="mf">4.</span> <span class="err">复制</span> <span class="o">~/</span><span class="p">.</span><span class="n">ssh</span> <span class="err">文件夹中的</span> <span class="n">rsa</span><span class="p">.</span><span class="n">pub</span> <span class="err">公钥添加到</span> <span class="n">github</span> <span class="err">中的</span><span class="n">ssh</span> <span class="err">入口中</span>
</pre></div>


<p>克隆项目&amp; 多人协同开发</p>
<div class="codehilite"><pre><span></span>        使用者A
             1. 准备文件夹 /UserA
            2. 连接github
                git clone  https地址或 ssh 地址
            3. 配置身份信息
                name
                email
            4. 创建项目
            5. 推送项目到远程仓库
        使用者B
            1. 准备文件夹
                /UserB
            2. 克隆项目到本地
            3. 配置身份信息
            4. 同步拉取服务器代码
        配置长期存储密码
            git config --global credential.helper store
    4. 代码冲突(重点)
        原因;
            多人协同开发时,如果多人同时修改了同一个文件,会出现代码冲突
        危害
            会影响正常的开发进度
        注意
            一旦出现代码冲突,必须 先解决冲突再做继续开发
        减少冲突注意
            1.养成良好的操作习惯,先pull在修改,修改完 即commit和push
            2. 要确保正在修改的事件是最新版本的
            3.各自开发各自的模块
            4.如果要修改公共 件, 定要先确认有没有正在修改 
            5.下班前一定要提交代码,上班第一件事拉取最新代码 
             6. 不要擅自修改同事的代码
    5.分支(重点)
        作用
            利用分支可以区分生产环境代码
                生产环境 master 主分支
                开发环境 dev 分支
                测试环境 test分支
            研究新功能或者攻关难题
            解决线上bug
        步骤
            1. 创建并切换到 dev 分支
                git checkout -b dev
            2. 将分支推送到远程
                git push -u origin dev
            3. 修改dev 分支源代码
                add. commit. push
            4. dev 分支合并到 master 分支
                1. 先切换到主分支
                    git checkout  master
                2. dev 分支合并到 master 主分支
                    git merge dev
            5. 合并后推送
                合并分支默认在本地完成,合并后直接推送到仓库即可
                    git push
</pre></div>
            <div class="widget-tag-cloud">
                <ul>
                    标签：
                    
                </ul>
            </div>
        </div>
    </article>
    <section class="comment-area" id="comment-area">
        <hr>
        <h3>发表评论</h3>
        <form action="/comment/post/14/" method="post" class="comment-form">
            
            <div class="row">
                <div class="col-md-4">
                    <label for="id_name">名字：</label>
                    <input id="id_name" maxlength="100" name="name" type="text" required />
                    
                </div>
                <div class="col-md-4">
                    <label for="id_email">邮箱：</label>
                    <input id="id_email" maxlength="255" name="email" type="email" required />
                    
                </div>
                <div class="col-md-4">
                    <label for="id_url">URL：</label>
                    <input id="id_url" maxlength="200" name="url" type="url" />
                    
                </div>
                <div class="col-md-12">
                    <label for="id_text">评论：</label>
                    <textarea cols="40" id="id_text" name="text" rows="10" required>
</textarea>
                    
                    <button type="submit" class="comment-btn">发表</button>
                </div>
            </div>    <!-- row -->
        </form>
        <div class="comment-list-panel">
            <h3>评论列表，共 <span>0</span> 条评论</h3>
            <ul class="comment-list list-unstyled">
                
                    暂无评论
                
            </ul>
        </div>
    </section>

            </main>
            <aside class="col-md-4">
                
    <div class="widget widget-content">
        <h3 class="widget-title">文章目录</h3>
        <div class="toc">
<ul></ul>
</div>

    </div>

                <div class="widget widget-recent-posts">
                    <h3 class="widget-title">最新文章</h3>
                    
                    <ul>
                        
                            <li>
                                <a href="/post/23/">数据分析推荐书籍</a>
                            </li>
                        
                            <li>
                                <a href="/post/32/">提高并发的方法</a>
                            </li>
                        
                            <li>
                                <a href="/post/25/">Python数据结构与算法（几种排序）</a>
                            </li>
                        
                            <li>
                                <a href="/post/21/">下山</a>
                            </li>
                        
                            <li>
                                <a href="/post/19/">cjj</a>
                            </li>
                        
                    </ul>
                </div>
                <div class="widget widget-archives">
                    <h3 class="widget-title">归档</h3>
                    
                    <ul>
                        
                            <li>
                                <a href="/archives/2019/12/">2019
                                    年 12 月</a>
                            </li>
                        
                            <li>
                                <a href="/archives/2019/10/">2019
                                    年 10 月</a>
                            </li>
                        
                            <li>
                                <a href="/archives/2019/8/">2019
                                    年 8 月</a>
                            </li>
                        
                    </ul>
                </div>

                <div class="widget widget-category">
                    <h3 class="widget-title">分类</h3>
                    
                    <ul>
                        
                            <li>
                                <a href="/category/1/">陈俊杰 <span
                                        class="post-count">(3)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/2/">数据库 <span
                                        class="post-count">(5)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/3/">消息队列 <span
                                        class="post-count">(3)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/4/">http、tcp/ip <span
                                        class="post-count">(6)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/5/">多任务 <span
                                        class="post-count">(3)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/6/">redis <span
                                        class="post-count">(3)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/7/">git <span
                                        class="post-count">(1)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/8/">状态保持 <span
                                        class="post-count">(2)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/10/">Docker <span
                                        class="post-count">(1)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/11/">搜索引擎 <span
                                        class="post-count">(2)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/12/">数据分析 <span
                                        class="post-count">(1)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/13/">数据结构与算法 <span
                                        class="post-count">(1)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/14/">markdown语法 <span
                                        class="post-count">(1)</span></a>
                            </li>
                        
                            <li>
                                <a href="/category/15/">非阻塞式IO <span
                                        class="post-count">(3)</span></a>
                            </li>
                        
                    </ul>
                </div>

                <div class="widget widget-tag-cloud">
                    <h3 class="widget-title">标签</h3>
                    
                    <ul>
                        
                            暂无标签！
                        
                    </ul>
                </div>

                <div class="rss">
                    <a href="#">才华撑不起野心，经济撑不起梦想</a>
                </div>
            </aside>
        </div>
    </div>
</div>
<footer id="site-footer">
    <div class="container">
        <div class="row">
            <div class="col-md-12">

                </p>
            </div>
        </div>
    </div>
</footer>

<!-- Mobile Menu -->
<div class="overlay overlay-hugeinc">
    <button type="button" class="overlay-close"><span class="ion-ios-close-empty"></span></button>
    <nav>
        <ul>
            <li><a href="/">首页</a></li>
            <li><a href="#">博客</a></li>
            <li><a href="#">关于</a></li>
            <li><a href="#">联系</a></li>
        </ul>
    </nav>
</div>

<script src="/static/blog/js/script.js"></script>

</body>
</html>
